
#ifndef STORAGEDAO_MOCK_H
#define STORAGEDAO_MOCK_H

#include <stdint.h>
#include <string>
#include "app_platform/cntl_info.h"

#include "erp/storage/ddo/overflowbillddo_storage.h"	
#include "erp/storage/ddo/disassemblebillfilterddo_storage.h"	
#include <set>	
#include <map>	
#include <vector>	
#include "erp/storage/ddo/stockddo_storage.h"	
#include "erp/storage/ddo/stockcheckitemddo_storage.h"	
#include "erp/storage/ddo/stockcheckfilterddo_storage.h"	
#include "erp/storage/ddo/disassemblebillddo_storage.h"	
#include "erp/storage/ddo/losebillddo_storage.h"	
#include "erp/storage/ddo/stockcheckmasterddo_storage.h"	
#include "erp/storage/ddo/overflowbillorlosebillfilterddo_storage.h"	
#include "erp/storage/ddo/stockfilterddo_storage.h"	
#include "erp/storage/ddo/stockbranch_relddo_storage.h"	
#include "intf_storagedao.h"


namespace erp
{
namespace storage
{
namespace dao
{

	class CStorageDaoMock : public IStorageDao{
	public:
	    virtual uint32_t AddDisassembleBill(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CDisassembleBillDdo& DisassembleBillInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve,
				uint64_t& DisassembleBillSysNo
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			DisassembleBillSysNo = m_DisassembleBillSysNo;
			return 0;
	    }		
	    virtual uint32_t AddLoseBillOrOverFlowBill(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CLoseBillDdo& LoseBillInfo,
				const erp::storage::ddo::COverFlowBillDdo& OverFlowBillInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve,
				uint64_t& OverFlowBillSysNo
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			OverFlowBillSysNo = m_OverFlowBillSysNo;
			return 0;
	    }		
	    virtual uint32_t AddStock(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CStockDdo& StockInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve,
				uint64_t& StockSysNo
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			StockSysNo = m_StockSysNo;
			return 0;
	    }		
	    virtual uint32_t AddStockCheck(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CStockCheckMasterDdo& StockCheckMasterInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve,
				uint64_t& StockCheckMasterSysNo
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			StockCheckMasterSysNo = m_StockCheckMasterSysNo;
			return 0;
	    }		
	    virtual uint32_t DeleteDisassembleBill(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& DisassemblebillSysNos,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			errorCode = m_errorCode;
			errorMsg = m_errorMsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t DeleteLoseBillOrOverFlowBill(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& FLoseBillSysNo,
				const std::set<uint64_t >& FOverFlowBillSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			errorCode = m_errorCode;
			errorMsg = m_errorMsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t DeleteStock(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& FStockSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			errorCode = m_errorCode;
			errorMsg = m_errorMsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t DeleteStockCheck(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& StockCheckMasterSysNos,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			errorCode = m_errorCode;
			errorMsg = m_errorMsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetDisassembleBillBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const std::set<uint64_t >& DisassembleBillSysnoList,
				const std::string& inReserve,
				std::string& errmsg,
				std::vector<erp::storage::ddo::CDisassembleBillDdo >& DisassembleBillList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			DisassembleBillList = m_DisassembleBillList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetDisassembleBillList(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const erp::storage::ddo::CDisassembleBillFilterDdo& DisassembleBillFilter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::storage::ddo::CDisassembleBillDdo >& DisassembleBillList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			total = m_total;
			DisassembleBillList = m_DisassembleBillList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetLoseBillOrOverFlowBillBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const std::set<uint64_t >& LoseBillSysNoList,
				const std::set<uint64_t >& OverFlowSysNoList,
				const std::string& inReserve,
				std::string& errmsg,
				std::vector<erp::storage::ddo::CLoseBillDdo >& LoseBillList,
				std::vector<erp::storage::ddo::COverFlowBillDdo >& OverFlowList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			LoseBillList = m_LoseBillList;
			OverFlowList = m_OverFlowList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetLoseBillOrOverFlowBillList(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const erp::storage::ddo::COverFlowBillOrLoseBillFilterDdo& OverFlowBillOrLoseBillFilter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::storage::ddo::CLoseBillDdo >& LoseBillList,
				std::vector<erp::storage::ddo::COverFlowBillDdo >& OverFlowList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			total = m_total;
			LoseBillList = m_LoseBillList;
			OverFlowList = m_OverFlowList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetStockBranch_RelBySysNo(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t StockSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve,
				std::vector<erp::storage::ddo::CStockBranch_RelDdo >& StockBranchList
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			StockBranchList = m_StockBranchList;
			return 0;
	    }		
	    virtual uint32_t GetStockBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const std::set<uint64_t >& StockSysnoList,
				const std::string& inReserve,
				std::string& errmsg,
				std::vector<erp::storage::ddo::CStockDdo >& StockList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			StockList = m_StockList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetStockCheckBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const std::set<uint64_t >& StockCheckMasterSysNoList,
				const std::string& inReserve,
				std::string& errmsg,
				std::vector<erp::storage::ddo::CStockCheckMasterDdo >& StockCheckList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			StockCheckList = m_StockCheckList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetStockCheckList(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const erp::storage::ddo::CStockCheckFilterDdo& StockCheckFilter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::storage::ddo::CStockCheckMasterDdo >& StockCheckList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			total = m_total;
			StockCheckList = m_StockCheckList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetStockList(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const erp::storage::ddo::CStockFilterDdo& StockFilter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::storage::ddo::CStockDdo >& StockList,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			total = m_total;
			StockList = m_StockList;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t ModifyStockBranch_Rel(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t StockSysNo,
				const std::set<uint64_t >& BranchSysNos,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t UpdataDisassembleBill(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CDisassembleBillDdo& DisassembleBillInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t UpdataLoseBillOrOverFlowBill(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CLoseBillDdo& LoseBillInfo,
				const erp::storage::ddo::COverFlowBillDdo& OverFlowBillInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t UpdataStockCheck(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CStockCheckMasterDdo& StockCheckMasterInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t UpdateStock(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::storage::ddo::CStockDdo& StockInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	
   public:
			std::string m_errmsg;
			std::string m_outReserve;
			uint64_t m_DisassembleBillSysNo;
			uint64_t m_OverFlowBillSysNo;
			uint64_t m_StockSysNo;
			uint64_t m_StockCheckMasterSysNo;
			std::map<uint64_t,uint32_t > m_errorCode;
			std::map<uint64_t,std::string > m_errorMsg;
			std::vector<erp::storage::ddo::DisassembleBillDdo > m_DisassembleBillList;
			uint32_t m_total;
			std::vector<erp::storage::ddo::LoseBillDdo > m_LoseBillList;
			std::vector<erp::storage::ddo::OverFlowBillDdo > m_OverFlowList;
			std::vector<erp::storage::ddo::StockBranch_RelDdo > m_StockBranchList;
			std::vector<erp::storage::ddo::StockDdo > m_StockList;
			std::vector<erp::storage::ddo::StockCheckMasterDdo > m_StockCheckList;
	};
	
}
}
}

#endif /* STORAGEDAO_MOCK_H */

